//文件读写工具类,for学习时长存储
import {isEmpty} from '@/utils/index';

//写文件
export function writeFile(fileName,data){
	if(isEmpty(data)){
		return;
	}
	//#ifdef APP-PLUS
	plus.io.requestFileSystem(plus.io.PRIVATE_DOC, (fs)=>{
		//创建或者打开文件
		fs.root.getFile(fileName,{create:true},(fileEntry)=>{
			fileEntry.createWriter((writer)=>{
				//文件写入完成，关闭资源
				writer.onwriteend = (event)=>{
					// event.target.close()
				};
				const position = writer.length>0?writer.length:0;
				writer.seek(position);
				writer.write(data);
			})
		})
	}, (error)=>{
		console.log('写入文件错误：',error.message);
	} );
	//#endif
}

// 读取文件
export function readFile(fileName,callback,errorCallback){
	//#ifdef APP-PLUS
	plus.io.requestFileSystem(plus.io.PRIVATE_DOC, (fs)=>{
		fs.root.getFile(fileName,{create:false},(fileEntry)=>{
			fileEntry.file((file)=>{
				const reader = new plus.io.FileReader();
				reader.onloadend = (result)=>{
					//关闭资源
					file.close();
					callback(result.target.result,file.size);
				};
				reader.readAsText(file);
			},(e)=>{
				console.log('读取文件错误：',e.message);
				if(errorCallback!=undefined){
					errorCallback();
				}
			});
		},(e)=>{
			console.log('文件不存在');
			if(errorCallback!=undefined){
				errorCallback();
			}
		})
	})
	//#endif
}

//删除文件
export function deleteFile(fileName){
	//#ifdef APP-PLUS
	plus.io.requestFileSystem(plus.io.PRIVATE_DOC,(fs)=>{
		fs.root.getFile(fileName,{create:false},(fileEntry)=>{
			fileEntry.remove((entry)=>{
				console.log('删除文件成功');
			},(e)=>{
				console.log('删除文件失败');
			})
		})
	});
	//#endif
}